/*
*	File: Exporter.h
*	Date: 12/09/2011
*	Author: Ivan Gao
*	Desc:
*/
#ifndef EXPORTER_H_
#define EXPORTER_H_
#include "3dsmaxsdk_preinclude.h"
#include "Max.h"
#include "resource.h"
#include "istdplug.h"
#include "iparamb2.h"
#include "iparamm2.h"
#include "stdmat.h"
#include <string>
#include "CoreSkeleton.h"
#include "CoreBone.h"
#include "CoreMaterialSet.h"

using std::string;
class SExporter
{
private:
	ExpInterface *	m_pExpInterface;
	Interface *		m_pInterface;
	SCoreSkeleton * m_pCoreSkeleton;
public:

	SExporter ();
	SExporter (ExpInterface * pExp, Interface * pI);
	~SExporter ();

	bool	ExportSkeleton (const char * pFileName);
	bool	ExportMaterial (const char * pFileName);
	bool	AddNode (INode * pNode, int nParentId);
	int		GetMaterialCount ();
	int		GetSubMaterialCount (Mtl * pMtrl); 
	void	GetMaterial (SCoreMaterialSet & rMaterialSet);
	void	GetSubMaterial (Mtl * pMtl, SCoreMaterialSet & rMaterialSet);
};
void SetCoreMaterial (SCoreMaterial & rMaterial, StdMat * pMat);
#endif // EXPORTER_H_